100 POKE 53280,5:POKE 53281,11 110 PRINT"[147][155]DOTS AND BOXES":GOSUB5000:GOSUB5000 120 A=RND(-TI) 140 PRINT"[147]WANT THE RULES? (Y/N) 150 [161]A$:[139]A$[178]"Y"[167]8000 160 X[178][187](1):[139]A$[179][177]"N"[167]150 170 [156]:[133]"YOUR NAME .CMDCMDCMD";N$ 180 [139]N$[179]"A"[176]N$[177]"Z"[167]170 190 [134]B%(49),L%(13,19),T%(6),E%(13) 200 C$(0)[178][200](N$,1):C$[178]"PET" 210 C$(1)[178]"P" 215 [139]C$(0)[178]"P"[167]C$[178]" ME":C$(1)[178]"M" 220 [150][165]A(X)[178][181](B%(X)[173]16) 230 Z$[178]" ":D$[178]"":R$[178]"" 240 [129]I[178]1[164]25:D$[178]D$[170]"":R$[178]R$[170]"" 250 Z$[178]Z$[170]" ":[130]:Z$[178]Z$[170]"" 260 [129]I[178]2[164]8[169]2 270 [135]C$(I),C(I),C(I[170]1):[130] 280 [129]I[178]1[164]24:[135]X:B%(X)[178]65:[130] 500 [143]***DRAW BOARD*** 510 [153]"LOAD";:[129]I[178]1[164]6 520 [153]" (null) (null) (null) (null) (null) (null)" 530 [130]:[153]"":[129]I[178]0[164]4:[153] 540 [153]" ";:[129]J[178]0[164]4 550 [153]" ";[199](65[170]I[172]5[170]J); 560 [130]J,I 570 [153]"":[129]I[178]1[164]7 580 [153][166]28)" " 590 [130]:[153]"" 600 [153][166]31)"SCORE" 610 [153][166]29)"YOU ";C$;" 620 PRINTSPC(29)"BOX SIDES 630 [153][166]31)"(null)-8-(null)CMDCMDCMDCMDCMD(null) (null)CMDCMDCMDCMDCMD4 6CMDCMDCMDCMDCMD(null) (null)CMDCMDCMDCMDCMD(null)-2-(null) 640 GOSUB7040 650 PRINTZ$;"DO YOU WANT TO START?" 660 GETA$:IFA$="N"THEN2000 670 X=RND(1):IFA$<>"Y"THEN660 1000 REM***HUMAN MOVE*** 1010 G=0:SB=0 1020 PRINTZ$;"WHICH BOX ? "; 1030 GETA$:IFA$=""THEN1030 1040 N=ASC(A$)-65 1050 IFN<0ORN>24THEN1030 1060 R=INT(N/5):N=N+9+2*R 1070 IFB%(N)<64THEN1100 1080 PRINTZ$;"THAT BOX IS TAKEN 1090 [141]5000:[137]1020 1100 [153]A$,"WHICH SIDE ? "; 1110 [161]B$:[139]B$[178]""[167]1110 1120 S[178][198](B$)[171]48:[139]S[175]1[167]1110 1130 [139]S[179]2[176]S[177]8[167]1110 1140 [153]S 1170 [139](B%(N)[175]C(S))[178]0[167]1220 1180 [153]Z$;"THAT SIDE IS TAKEN 1190 GOSUB5000 1200 PRINTZ$;"WHICH SIDE OF BOX "; 1210 PRINTA$;" ?";:GOTO1110 1220 GOSUB6000:PRINTM$+C$(S) 1230 GOSUB3000 1240 N=N+C(S+1):S=10-S 1250 IFB%(N)>64THEN1270 1260 GOSUB3000 1270 IFSBTHEN1000 2000 REM***PET MOVE*** 2010 G=1:SB=0 2020 GOSUB4000:R=INT(N/7)-1 2030 PRINTZ$;"I WILL PLAY BOX "; 2140 PRINTZ$;"I WILL PLAY BOX "; 2150 PRINTCHR$(N+56-2*R), 2160 PRINT"SIDE";S 2170 GOSUB6000:PRINTM$+C$(S) 2180 GOSUB5000:GOSUB3000 2230 N=N+C(S+1):S=10-S 2240 IFB%(N)<65THENGOSUB3000 2250 IFSBTHEN2000 2260 GOTO1000 3000 REM***UPDATE STATUE*** 3005 X=C(S) 3010 ONFNA(N)GOTO3050,3300,3400 3020 B%(N)=B%(N)+16+X 3030 IFB%(N)>64THENGOSUB7000 3040 RETURN 3050 REM***CHAIN*** 3060 SH=0:I=0 3070 K=2^I:IF(B%(N)ANDK)OR(K=X)THEN3250 3080 B=N+C(2*I+3) 3090 IFFNA(B)<>2THEN3230 3100 FORJ=1TOLC:L=L%(J,0) 3110 FORU=1TOL:IFL%(J,U)<>BTHEN3220 3120 IFJ=SHTHEN3020 3130 IFSHTHEN3160 3140 L%(J,L+1)=N:L%(J,0)=L+1 3150 SH=J:GOTO3250 3160 FORV=1TOL%(SH,0) 3170 L%(J,L+V)=L%(SH,V):NEXTV 3180 L%(J,0)=L+L%(SH,0) 3190 FORV=0TOL%(LC,0) 3200 L%(SH,V)=L%(LC,V):NEXTV 3210 LC=LC-1:GOTO3020 3220 NEXTU,J 3230 IFSHTHEN3020 3240 LC=LC+1:L%(LC,1)=N:L%(LC,0)=1:SH=LC 3250 I=I+1:IFI<4THEN3070 3260 GOTO3020 3300 REM***SAVE AS CAPTURE*** 3310 C=C+1:T%(C)=N:GOTO3020 3400 REM***CAPTURE*** 3410 FORJ=1TOLC:L=L%(J,0) 3420 FORU=1TOL:IFL%(J,U)=NTHEN3440 3430 NEXTU,J 3440 FORI=1TOC:IFT%(I)=NTHEN3460 3450 NEXTI 3460 T%(I)=T%(C):C=C-1 3470 IFL=1THENSH=J:GOTO3190 3480 L%(J,U)=L%(J,L):L%(J,0)=L-1 3490 GOTO3020 4000 REM***SMART MOVES*** 4010 IFC=0THEN4060 4020 FORJ=1TOC:N=T%(J) 4030 GOSUB4900 4040 IFFNA(N+C(2*I+3))>2THEN4870 4050 NEXTJ 4060 V=0:FORI=1TOLC 4070 V=V+L%(I,0):NEXT 4080 IFA>VTHEN4650 4090 REM***3RD PHASE*** 4100 IFC=0THEN4770 4110 IFLC=1THENN=T%(1):GOTO4860 4120 FORI=1TOLC:L=L%(I,0) 4130 E%(I)=0:FORJ=1TOL 4140 IFFNA(L%(I,J))=2THEN4170 4150 IF(L=3)OR(L>4)THENN=L%(I,J):GOTO4860 4160 E%(I)=E%(I)+1 4170 NEXTJ,I 4180 S=0:FORJ=1TOLC 4190 IFE%(J)=0THEN4330 4200 IF(L%(J,0)=4)AND(E%(J)=1)THEN4600 4210 IFL%(J,0)=2THEN4320 4220 P=0:FORK=1TO4 4230 IFB%(L%(J,K))<48THEN4260 4240 IFP=0THENP=L%(J,K) 4250 Q=L%(J,K) 4260 NEXTK 4270 N=P:GOSUB4900:P=P+C(2*I+3) 4280 N=Q:GOSUB4900:Q=Q+C(2*I+3) 4290 FORI=0TO3:IF(B%(Q)AND(2^I))THEN4310 4300 IFP=Q+C(2*I+3)THEN4320 4310 NEXT:GOTO4600 4320 S=S+1:X=J:IFS=2THEN4600 4330 NEXTJ 4340 S=0:FORJ=1TOLC 4350 IFX=JTHEN4370 4360 IFL%(J,0)<3THENS=S+1 4370 NEXT:J=X 4380 IF(SAND1)THEN4600 4390 REM***SACRIFICE*** 4400 FORI=1TOL%(J,0):N=L%(J,I) 4410 IFFNA(N)=2THEN4430 4420 NEXT 4430 FORI=0TO3:K=2^I 4440 IF(B%(N)ANDK)THEN4460 4450 IFFNA(N+C(2*I+3))<>3THEN4870 4460 NEXT 4600 REM***CAPTURE IN CHAIN J*** 4610 FORK=1TOL%(J,0) 4620 IFB%(L%(J,K))>48THENN=L%(J,K):GOTO4860 4630 NEXTK 4650 REM***1ST PHASE*** 4660 X=65:IFCTHENN=T%(1):GOTO4860 4670 N=INT(9+33*RND(1)):Q=N 4680 IFFNA(N)>1THEN4740 4690 FORI=0TO3:K=2^I 4700 IF(B%(N)ANDK)THEN4730 4710 B=N+C(2*I+3):IFB%(B)=XTHEN4730 4720 IFFNA(B)<>2THEN4870 4730 NEXT 4740 N=N+1:IFN=42THENN=9 4750 IFN<>QTHEN4680 4760 IFX=65THENX=-1:GOTO4670 4770 REM***MUST GIVE AWAY*** 4780 M=99:FORI=1TOLC 4790 IFL%(I,0)17THEN7180 7110 IFC(1)>12THEN7160 7120 IFC(1)>7THEN7140 7130 PRINT"I SURRENDER !!":GOTO 7200 7140 PRINT"YOU WIN-BUT IT WAS CLOSE 7150 [137]7200 7160 [153]"I WIN ! HARD LUCK,";N$ 7170 [137]7200 7180 [153]"YOU WERE HAMMERED,";N$ 7190 [153]"TAKE UP CHESS-IT'S EASIER 7200 PRINT"PLAY AGAIN? 7210 [161]A$:[139]A$[178]"Y"[167] 170 7220 [139]A$[179][177]"N"[167] 7210 7230 [129]T[178]1 [164] 500:[130]:[147]"THE MAIN MENU/BM",8,1 8000 [143]***RULES*** 8010 [153]"LOAD DOTS AND BOXES-RULES 8020 PRINT"1 WE TAKE IT IN TURN TO"; 8030 PRINT" COMPLETE ONE SIDE O"; 8040 PRINT"F A BOX 8050 [153]"2 IF YOU COMPLETE THE 4TH"; 8060 [153]" SIDE OF A BOX YOU WIN "; 8070 [153]"THAT BOX AND MUST PLAY AG"; 8080 [153]"AIN 8090 PRINT"3 THE WINNER HAS THE MOST"; 8100 PRINT" BOXES AT THE END OF T"; 8110 PRINT"HE GAME 8120 [153]"4 TO PLAY, USE A-Y TO PIC"; 8130 [153]"K THE BOX THEN 2,4,6,8 "; 8140 [153]"AS INDICATED FOR THE SIDE 8150 GOTO170 9000 DATA"[192][192][192]",1,7,"[157][221][157][221][157][221]",2,-1 9010 DATA"[221][157][221][157][221]",4,1,"[145][192][192][192]",8,-7 9020 DATA1,2,3,4,5,6,7,8,14,15,21,22 9030 DATA28,29,35,36,42,43,44,45,46 9040 DATA47,48,49